The invention relates, generally, to data processing systems and telecommunication systems, and, more specifically, to a technique for enabling communication connections between circuit-switched communication networks and packet-switched data processing networks.
Two fundamentally different switching technologies exist that enable digital communications. The first type, circuit-switched networks, operate by establishing a dedicated connection or circuit between two points, similar to public switched telephone networks( PSTN). A telephone call causes a circuit to be established from the originating phone through the local switching office across trunk lines, to a remote switching office and finally to the intended destination telephone. While such circuit is in place, the call is guaranteed a data path for digitized or analog voice signals regardless of other network activity. The second type packet-switched networks, typically connect computers and establish an asynchronous xe2x80x9cvirtualxe2x80x9d channel between two points. In a packet-switched network, data, such as a voice signal, is divided into small pieces called packets which are then multiplexed onto high capacity connections for transmission. Network hardware delivers packets to specific destinations where the packets are reassembled into the original data set. With packet-switched networks, multiple communications among different computers can proceed concurrently with the network connections shared by different pairs of computers concurrently communicating. Packet-switched networks are, however, sensitive to network capacity. If the network becomes overloaded, there is no guarantee that data will be timely delivered. Despite this drawback, packet-switched networks have become quite popular, particularly as part of the Internet and Intranets, due to their cost effectiveness and performance.
In a packet-switched data network one or more common network protocols hide the technological differences between individual portions of the network, making interconnection between portions of the network independent of the underlying hardware and/or software. A popular network protocol, the Transmission Control Protocol/Internet Protocol (TCP/IP) is utilized by the Internet and lntranets greater than lntranets are private networks such as Local Area Networks (LANs) and Wide Area Networks (WAN). The TCP/IP protocol utilizes universal addressing as well as a software protocol to map the universal addresses into low level machine addresses. For purposes of this discussion, networks which adhere to the TCP/IP protocol will be referred to hereinafter xe2x80x9cIP-basedxe2x80x9d or as utilizing xe2x80x9cIP addressesxe2x80x9d or xe2x80x9cInternet Protocol addressxe2x80x9d.
It is desirable for communications originating from an IP-based network to terminate at equipment in a PSTN network, and vice versa, or for calls which originate and terminate on a PSTN network to utilize a packet-switched data network as an interim communication medium. Problems arise, however, when a user on an IP-based or other packet switched data network tries to establish a communication link beyond the perimeter of the network, due to the disparity in addressing techniques among other differences used by the two types of networks.
The exchange/subscriber addressing scheme utilized by public switched telephone networks is closely related to the actual physical architecture of the network and therefore to the geographic location of terminating apparatus, i.e. telephone withthin the network. For example, in the United States, a telephone number may be partitioned into a three-digit area code, a three-digit exchange, and a four-digit subscriber number within the exchange. PSTN carriers currently have large, well-established networks with multitudes of subscribers utilizing such naming systems and are set up to interact with other PSTN carrier networks and to account for the variances in local geographic dialing patterns.
Conversely, packet-switched data networks adhere to a network protocol such as the TCP/IP protocol utilizes a hierarchical naming system which is neither based on the underlying hardware of the network nor the geographic locus of the various hardware components. Instead, the TCP/IP protocol partitions computers along lines of authority irrespective of physical location. In TCP/IP, hierarchical machine names are assigned according to structures of organization for parts of name space, not necessarily according to the structure of a physical network interconnection. The TCP/IP protocol implements a naming hierarchy called the Domain Name System (DNS). The Domain Name System utilizes a hierarchical naming scheme referred to as domain names. Domain names consist of a sequence of subdomain names, separated by a delimiter character, i.e. xe2x80x9c.xe2x80x9d The subdomain names of a domain name are sometimes referred to as labels. For example, the domain name xe2x80x9cwww.netspeak.comxe2x80x9d contains three labels: xe2x80x9cwwwxe2x80x9d, xe2x80x9cnetspeakxe2x80x9d, and xe2x80x9ccomxe2x80x9d. Any suffix of a label in a domain name is called a domain. In the above example, the top-level domain is xe2x80x9ccom.xe2x80x9d The domain name system is well documented in various public specifications and will not be described hereinafter for the sake of brevity.
The reader will appreciate that due to the naming schemes utilized by PSTN networks and TCP/IP based networks, such as the Internet establishment of direct connections from the Internet to public switched telephone network subscribers and vice versa, is impractical.
In light of the above, a need currently exists for a mechanism which enables translation of a conventional telephone number from a client task on an IP-based network into a network protocol address representing a gateway capable of contacting the subscriber apparatus associated with the telephone number.
A need further exists for a mechanism which accounts for the dilemma of geographic dialing patterns and the nongeographic nature of IP-based networks such as the Internet, versus the hardwired, geographic nature of public switched telephone networks.
A need further exists for a mechanism which facilitates communication between packet-switched networks and circuit-switched networks and which accommodate the existing infrastructure of circuit-switched networks, including inoperability among carriers, subscriber volumes and billing logistics.
The invention describes a method and apparatus which enables traditional telephone numbers formatted as domain names to be resolved into network protocol addresses, either by a single domain name server apparatus or multiple domain name server apparatus.
According to a first aspect of the present invention, a method for resolving data representing a telephone number comprises the steps of receiving a telephone number domain name identifying a telephone from a source, resolving the telephone number domain name into a network protocol address, and supplying a network protocol address to the source. In one embodiment, a portion of the telephone number domain name represents the country code, area code, exchange, or data segments of a telephone number. In an alternative embodiment, the method entails resolving country code, area code or exchange subdomain names into the network protocol addresses of their respective domain name servers.
In accordance with a second aspect of the present invention, a domain name server apparatus comprises a processor for manipulating data, a memory couple to the process for storing data, connection logic configured to couple the name server to the computer network, at least one domain name stored in the memory, the domain name having associated therewith a network protocol address and having a portion thereof representing the country code, area code, exchange, subscriber number or carrier of a telephone number and logic for generating the network protocol address associated with the domain name. In one embodiment, a plurality of domain name labels are stored in memory, each label having associated therewith a network protocol address, each domain name label representing at least one of the carrier, country code, area code, exchange or subscriber number of a telephone number.
In accordance with a third aspect of the invention, a computer program product for use with a computer system comprises a computer usable medium having program code embodied in the medium for enabling translation of data representing a telephone number of subscriber apparatus into a network protocol address. The program code comprises code for receiving a telephone number domain name from a source, program code responsive to a portion of the telephone number domain name for generating a network protocol address, and program code for forwarding the network protocol address to the source. In one embodiment, the program code further comprises code for storing in the computer system at least one domain name having associated therewith a network protocol address, the domain name representing at least one of the country code, area code and exchange data of a telephone number. In an alternative embodiment, the program code comprises code for storing in the computer system a plurality of domain names, each having associated therewith a network protocol address, each of the domain names representing the carrier, country code, area code, exchange, or subscriber number data of a telephone number.
In accordance with a fourth aspect of the invention, a system for facilitating communication between client tasks executing on a packet-switched data network and subscriber apparatus on a circuit-switched communication network comprises a domain name server operatively coupled to the packet-switched network. The domain name server comprises resolution logic responsive to a telephone number domain name for generating a network protocol address associated with the domain name. The system further comprises a gateway server addressable by a network protocol address. The gateway comprises logic configured to initiate a communication link with subscriber apparatus on a circuit-switched communication network in response to receipt of a telephone number domain name.